/***********************************************************************
*
* Copyright (c) 2012-2022 Barbara Geller
* Copyright (c) 2012-2022 Ansel Sermersheim
*
* Copyright (c) 2015 The Qt Company Ltd.
* Copyright (c) 2012-2016 Digia Plc and/or its subsidiary(-ies).
* Copyright (c) 2008-2012 Nokia Corporation and/or its subsidiary(-ies).
*
* This file is part of CopperSpice.
*
* CopperSpice is free software. You can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation.
*
* CopperSpice is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* https://www.gnu.org/licenses/
*
***********************************************************************/

#ifndef DSVIDEORENDERER_H
#define DSVIDEORENDERER_H

#include <qvideorenderercontrol.h>
#include <dscamera_session.h>

class CameraFormatConverter;

class DSVideoRendererControl : public QVideoRendererControl
{
   CS_OBJECT(DSVideoRendererControl)

 public:
   DSVideoRendererControl(DSCameraSession *session, QObject *parent = nullptr);
   ~DSVideoRendererControl();

   QAbstractVideoSurface *surface() const;
   void setSurface(QAbstractVideoSurface *surface);

   void setSession(DSCameraSession *session);

 private:
   QAbstractVideoSurface *m_surface;
   DSCameraSession *m_session;
   CameraFormatConverter *converter;
};

#endif
